/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo.DAL;

import Modelo.ReporteNovedad;
import Modelo.ReporteFetch;
import Modelo.Posee;
import Modelo.Tiene;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import org.json.JSONObject;
import java.util.List;
import java.util.ArrayList;

/**
 *
 * @author miguel474
 */
public class PoseeTiene_DAO {

    //Agrega una instancia de Posee
    public static boolean agregarPosee(Posee pos) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;
        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Insertando Novedad!");
            return false;
        }
        String query = "INSERT INTO posee(id_novedad_gen,id_campo_novedad,id_reporte,valor)"
                + "VALUES (" + pos.getNovedadGen().toString()
                + "," + pos.getCampoNovedad().toString()
                + "," + pos.getReporte().toString()
                + ",'" + pos.getValor() + "')";
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
            conexion.cerrarConexion();
            return true;
        } catch (SQLException se) {
            System.out.println("Error en la consulta");
            conexion.cerrarConexion();
            return false;
        }
    }

    //Agrega una instancia de Posee
    public static boolean agregarTiene(Tiene tien) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;
        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Insertando Novedad!");
            return false;
        }
        String query = "INSERT INTO tiene(id_novedad_esp,id_campo_novedad,id_reporte,valor)"
                + "VALUES (" + tien.getNovedadEsp().toString()
                + "," + tien.getCampoNovedad().toString()
                + "," + tien.getReporte().toString()
                + ",'" + tien.getValor() + "')";
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
            conexion.cerrarConexion();
            return true;
        } catch (SQLException se) {
            System.out.println("Error en la consulta");
            conexion.cerrarConexion();
            return false;
        }
    }

    public static void actualizarPosee(Posee pos) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;

        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Actualizando Reporte!");
        }
        String query = "UPDATE posee "
                       + "set valor = '" + pos.getValor()
                       +"' where id_reporte = "+pos.getReporte().toString()+" AND "
                       +" id_campo_novedad = "+pos.getCampoNovedad().toString()+" AND "
                       +" id_novedad_gen = "+pos.getNovedadGen().toString();
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
        } catch (SQLException se) {
            System.out.println("Error Actualizando Espacio de Reporte!");
        } finally{
            conexion.cerrarConexion();
        }
    }

    public static void actualizarTiene(Tiene pos) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;

        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Actualizando Reporte!");
        }
        String query = "UPDATE tiene "
                       + "set valor = '" + pos.getValor()
                       +"' where id_reporte = "+pos.getReporte().toString()+" AND "
                       +" id_campo_novedad = "+pos.getCampoNovedad().toString()+" AND "
                       +" id_novedad_esp = "+pos.getNovedadEsp().toString();
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
        } catch (SQLException se) {
            System.out.println("Error Actualizando Espacio de Reporte!");
        } finally{
            conexion.cerrarConexion();
        }
    }
}
